
#ifndef _MEMBER_BLISTWIDGET_H_
#define _MEMBER_BLISTWIDGET_H_

#include <BScrollBar>
#include <BListItem>
#include <BListWidget>

#define list_member(list)			((member_BListWidget*)((BListWidget*)list)->_ptr)

namespace BWE
{
	class member_BListWidget
	{
	public:
		member_BListWidget(BListWidget* listWidget);
		~member_BListWidget();

		void freshArea();
		void freshItemRects();
		void select(BListItem* item);
	
		BListWidget*	boss;
		int				space;
		int				showItemBegin;
		int				showItemCount;
		bool			multiChoose;
		bool			continuChoose;

		bool						dirtyArea;
		BSize						minAreaSize;
		BListItem*					pressedItem;
		BListItem*					hoveredItem;
		BList<BListItem*>			selectedItems;
		BList<BListItemHolder>		items;
	};
}

#endif